#pragma once
#include <osg/Vec3d>

#include "CmdHandler3.h"

struct StretchData
{
	std::shared_ptr<INode> ent;
	std::shared_ptr<INode> clone;
	osg::Vec3d offset;
	std::vector<int> handleIndexes;
};

class Ent;
class UCS;

class Stretch2DHandler : public CmdHandler3
{
	Q_OBJECT
public:
	Q_INVOKABLE Stretch2DHandler();
	~Stretch2DHandler();

	virtual void input(const QVariant& data, const QString& rawInput, CommandSource cs) override;

	osg::Vec3d m_start;
	osg::Vec3d m_end;
	std::vector<StretchData> m_stretchDatas;
	UCS* m_ucs;
};
